似乎開發者都很怕被人罵自己的設計不足 (under engineering)、彈性延展性太差、不夠強壯 (robust),不論是誰都可用、不論大雞小雞都想殺,因此,我反而以為,開發者的過度設計比設計不足還要常見。
--喲哪桑 Speaking 之專案工作日誌:過度設計
當我上一篇雄心壯志地寫下「我們要從頭打造一個 PHP 框架」時,你可能會認為我們將會打造一個比 Phalcon 更快、比 Laravel 更好用或比 Symfony 支援更多元件的框架,而且它將會以 原生 PHP 的方式撰寫。
請恕我在這邊潑你一身冷水,我認為初期的過度設計將會讓我們的計畫顯得窒礙難行:相反地,初期我們可能會寫不少 Spaghetti code(麵條式程式碼),並在未來一次次的重構中漸漸改善它們,使它們越來越現代化。
同時,在這份挑戰中我也不打算重複造輪子,我將會使用許多現成的元件並將它們打造成我們期望的樣式。記住,即便是最熱門的 Laravel PHP Framework,也使用了許多 Symfony Components,這些經驗與這些程式碼不是我們的敵人。
記住,我們不是為了打造另一個 Symfony Framework 或 Laravel Framework,在一篇篇文章中,所以我們要時常思考「這樣規畫下,有什麼是比現有框架更優秀的,又有什麼東西是可以從現有框架中借鑑的」
註:你可以自行選用屬於自己的命名,這邊僅僅作為範例